from pinhole.datasource.spiders.academic.arxiv import ArxivSecurity, ArxivComputationLanguage
from pinhole.datasource.spiders.academic.arxiv import ArxivArtificialIntelligence, ArxivMachineLearning
from pinhole.datasource.spiders.academic.arxiv import ArxivPerformance, ArxivProgrammingLanguage
from pinhole.datasource.spiders.industry.apple import AppleSecurityBlog
from pinhole.datasource.spiders.industry.microsoft import MicrosoftSecurityBlog
from pinhole.datasource.spiders.industry.google import GoogleProjectZeroBlog
from pinhole.datasource.spiders.community.lwn import LwnHeadline

from pinhole.datasource.spider import PinholeSpider

from typing import List, Type as Subtype

__all__ = ['all_spiders', 'PinholeSpider']

all_spiders: List[Subtype[PinholeSpider]] = [
    ArxivSecurity,
    ArxivComputationLanguage,
    ArxivArtificialIntelligence,
    ArxivMachineLearning,
    ArxivPerformance,
    ArxivProgrammingLanguage,
    AppleSecurityBlog,
    MicrosoftSecurityBlog,
    GoogleProjectZeroBlog,
    LwnHeadline
]
